package com.ivt.dao;

import java.util.List;

import com.ivt.model.Attendance;
import com.ivt.model.Classes;
import com.ivt.model.Courses;
import com.ivt.model.Notice;
import com.ivt.model.Role;
import com.ivt.model.Student;
import com.ivt.model.Teacher;
import com.ivt.model.User;
import com.ivt.model.view.QueryCriteria;

public interface SpecificDao {

	public List<User> findAgent(User owner);

	public long queryClassesCount(QueryCriteria queryCriteria);

	public List<Classes> queryClasses(QueryCriteria queryCriteria);

	public List<Student> queryStudent(QueryCriteria queryCriteria);

	public long queryStudentCount(QueryCriteria queryCriteria);

	public long queryNoticeCount(QueryCriteria queryCriteria);

	public List<Notice> queryNotice(QueryCriteria queryCriteria);

	public long queryRoleCount(QueryCriteria queryCriteria);

	public List<Role> queryRole(QueryCriteria queryCriteria);

	public long queryAttendanceCount(QueryCriteria queryCriteria);

	public List<Attendance> queryAttendance(QueryCriteria queryCriteria);

	public long queryTeacherCount(QueryCriteria queryCriteria);

	public List<Teacher> queryTeacher(QueryCriteria queryCriteria);

	public long queryCoursesCount(QueryCriteria queryCriteria);

	public List<Courses> queryCourses(QueryCriteria queryCriteria);

}
